/*
 * @Description: loop_pose发布，包装成PoseWithCovarianceStamped
 * @Author: Sang Hao
 * @Date: 2021-10-18 16:34:46
 * @LastEditTime: 2021-10-27 12:31:37
 * @LastEditors: Sang Hao
 */
#ifndef LIDAR_SLAM_PUBLISHER_LOOP_POSE_PUBLISHER_HPP_
#define LIDAR_SLAM_PUBLISHER_LOOP_POSE_PUBLISHER_HPP_

#include <ros/ros.h>
#include <geometry_msgs/PoseWithCovarianceStamped.h>
#include "lidar_slam/sensor_data/loop_pose.hpp"

namespace lidar_slam {
class LoopPosePublisher {
private:
	/* data */
	ros::NodeHandle nh_;
	ros::Publisher publisher_;
	std::string frame_id_ = "";
public:
	LoopPosePublisher(	ros::NodeHandle& nh, std::string topic_name, 
						std::string frame_id, int buff_size);
	LoopPosePublisher() = default;	// 默认的构造函数也需要，
	void Publish(LoopPose& loop_pose);
	bool HasSubscribers();
};
}

#endif